package com.hspedu.seckill.util;


import org.apache.commons.codec.digest.DigestUtils;

/**
 * MD5Util: 工具类，根据前面密码设计方案提供相应的方法
 */
public class MD5Util {

    public static String md5(String src) {
        return DigestUtils.md5Hex(src);
    }

    //准备一个salt 前段使用的盐
    private static final String SALT = "BvKv5oQ6";

    //加密加盐，完成的任务就是 MD5(password明文+salt1)
    public static String inputPassToMidPass(String inputPass) {
        String str = SALT.charAt(0) + inputPass + SALT.charAt(6);
        return md5(str);
    }

    //加密加盐，完成的任务是把MidPass 转成DB中的密码 MD5(MD5(password明文+salt1)+salt2)
    public static String midPassToDBPass(String midPass, String salt) {
        String str = salt.charAt(1) + midPass + salt.charAt(5);
        return md5(str);
    }

    //编写方法，可以将password明文直接转成DB中的密码
    public static String inputPassToDBPass(String inputPass, String salt) {
        String midPass = inputPassToMidPass(inputPass);
        String dbPass = midPassToDBPass(midPass, salt);
        return dbPass;
    }

    public static void main(String[] args) {
        System.out.println(inputPassToDBPass("123456","RiDeVGlt"));

    }
}
